#!/bin/bash

# Baby Tap Server 构建脚本
# 用于构建 Golang 服务器和生成 gomobile 绑定

set -e

echo "🚀 开始构建 Baby Tap Server..."

# 检查 Go 版本
echo "📋 检查 Go 版本..."
go version

# 检查 gomobile 是否安装
echo "📋 检查 gomobile..."
if ! command -v gomobile &> /dev/null; then
    echo "❌ gomobile 未安装，正在安装..."
    go install golang.org/x/mobile/cmd/gomobile@latest
    gomobile init
fi

# 进入项目目录
cd "$(dirname "$0")"

# 下载依赖
echo "📦 下载依赖..."
go mod download

# 构建服务器二进制文件
echo "🔨 构建服务器二进制文件..."
go build -o bin/server cmd/server/main.go

# 生成 gomobile 绑定
echo "📱 生成 Android gomobile 绑定..."
gomobile bind -target=android -o=../BabyTapMobile/android/app/libs/babytap-server.aar ./pkg/mobile

# 生成 iOS gomobile 绑定
echo "🍎 生成 iOS gomobile 绑定..."
gomobile bind -target=ios -o=../BabyTapMobile/ios/BabyTapMobile/babytap-server.framework ./pkg/mobile

echo "✅ 构建完成！"
echo "📁 生成的文件："
echo "  - bin/server (服务器二进制文件)"
echo "  - ../BabyTapMobile/android/app/libs/babytap-server.aar (Android 绑定)"
echo "  - ../BabyTapMobile/ios/BabyTapMobile/babytap-server.framework (iOS 绑定)" 